#!/usr/bin/python
# -*- coding:utf-8 -*-
# @author  : micah
# @time    :  
# @function: 
# @version :


# 创建实例属性
class Person:
    pass

"""
创建实例属性的方法一：通过对象的方式进行创建 动态创建
"""
# 1.创建对象 实例对象
micah = Person()
# 2.使用实例对象来创建实例属性
micah.name = "Micah"
micah.age = 20

print(micah.name)
print(micah.age)

"""
创建实例属性的方法二：通过实例方法的方式进行创建
"""
class Dog:
    # 创建一个实例方法帮助我们创建实例属性
    def set_attr(self):
        # 创建了两个实例属性""
        self.name = "哈士奇"
        self.desc = '这是一只会倒立的哈士奇...'


# 1.创建实例对象
hashiqi = Dog()
# 2.使用实例对象来调用实例方法创建实例属性。
hashiqi.set_attr()

print(hashiqi.name)
print(hashiqi.desc)


"""
创建实例属性的方法三：通过构造方法的方式进行创建"""
class Cat:
    # 创建一个构造方法
    # 如果一个函数以双个下划线开头，那么这个函数就是构造方法
    def __init__(self):
        # 创建了两个实例属性
        self.name = "加菲"
        self.desc = '这是一只会睡大觉的加菲猫...'


# 这个构造函数不需要大家手动调用
jiafei = Cat()  # __init__在实例化的过程中会自动运行。
# 如果一个类中存在构造函数，想要访问实例属性可以直接访问。

print(jiafei.name)
print(jiafei.desc)

sc = '这是一只会睡大觉的加菲猫...'